#_DEBUG=-D  DEBUG

BIN=./bin


Server=./Server
Server_inc=-I $(Server)/include
Server_src=$(Server)/src

inc+=$(Server_inc)

URL=./url
URL_src=$(URL)/src
inc+=-I $(URL)/include

Media=./media
Media_src=$(Media)/src
inc+=-I $(Media)/include


debug=./_debug
debug_src=$(debug)/src
inc+=-I $(debug)/include

threadPool=./threadPool
threadPool_src=$(threadPool)/src
inc+=-I $(threadPool)/include


SOURCE = $(wildcard ./*.cpp $(Server_src)/*cpp)  # 返回当前目录下的和Server目录下的所以.cpp 文件
SOURCE += $(wildcard ./*.cpp $(URL_src)/*cpp)  # 返回当前目录下的和Server目录下的所以.cpp 文件
SOURCE += $(wildcard ./*.cpp $(Media_src)/*cpp) # 返回当前目录下的和 media 目录下的所以.cpp 文件
SOURCE += $(wildcard ./*.cpp $(debug_src)/*cpp) # 返回当前目录下的和 debug 目录下的所以.cpp 文件
SOURCE += $(wildcard ./*.cpp $(threadPool_src)/*cpp) # 返回当前目录下的和 debug 目录下的所以.cpp 文件


OBJS = $(patsubst %.cpp,%.o,$(SOURCE))  # Server/src/Server.cpp -> Server/src/Server.o
CXX=g++




test:
	@echo  "这是测试"


# %.o: %.cpp
main: $(OBJS)
	$(CXX) $(_DEBUG) $(inc) $^ -o $@ -lpthread -std=c++17

run: main
	./main 8000

%.o: %.cpp
	$(CXX) $(_DEBUG) $(inc) -c $< -o $@ -std=c++17


REDIR =$(wildcard ./*.o $(Server_src)/*o)  # 返回当前目录下的和Server目录下的所以.cpp 文件
REDIR +=$(wildcard  $(URL_src)/*o)  # 返回当前目录下的和Server目录下的所以.cpp 文件
REDIR +=$(wildcard  $(Media_src)/*o)  # 返回当前目录下的和Server目录下的所以.cpp 文件
REDIR +=$(wildcard $(debug_src)/*o)  # 返回当前目录下的和Server目录下的所以.cpp 文件
REDIR +=$(wildcard $(threadPool_src)/*o)  # 返回当前目录下的和Server目录下的所以.cpp 文件

REDIR+=main
clean:
	rm $(REDIR)